// 定义一个用来获取spu列表数组的接口所需要的参数列表接口类型
export interface SpuPageListParamsModel { 
  page: number, // 页码
  limit: number, // 每页的条数
  category3Id:number // 三级分类id
}
// 定义spu中图片对象的接口类型
export interface SpuImageModel { 
  id?: number, // id
  spuId?: number, // 图片对应的spu的id
  imgName: string, // 图片的名字
  imgUrl: string, // 图片的地址
  
  name?: string, // 图片的名字,为了在上传的组件中显示图片的时候使用的属性
  url?: string, // 图片的地址,
  response?: { // 图片上传成功的数据
    data:string
  },
  isDefault?:string // 默认的图片的地址
}
// 定义spu中图片列表数组的数据类型
export type SpuImageListModel= SpuImageModel[]

// 定义spu对象中的销售属性对象中的销售属性值数组中的销售属性值对象的接口类型
export interface SpuSaleAttrValueModel { 
  id?: number, // id
  spuId?: number, // 销售属性值所属的销售属性对象所属的spu的id
  saleAttrName?:string, // 当前的销售属性的值所在的销售属性对象的名字
  isChecked?: string, // 是否选中
  baseSaleAttrId:number , // 当前的销售属性值所在的销售属性对象的id
  saleAttrValueName:string // 当前的销售属性值的名字
}

// 定义spu对象中的销售属性对象中的销售属性值对象数组的类型
export type SpuSaleAttrValueListModel=SpuSaleAttrValueModel[]
// 定义spu对象中的销售属性对象的接口类型
export interface SpuSaleAttrModel { 
  id?: number, // id
  spuId?: number, // 当前的销售属性对象所属的spu的id
  baseSaleAttrId:number , // 当前销售属性对象所属的基础销售属性对象数组中的某个对象的id
  spuSaleAttrValueList:SpuSaleAttrValueListModel // 销售属性值对象的数组
  saleAttrName: string // 当前销售属性的名字
  isShowEdit?:boolean // 编辑和查看模式的切换标识,用来显示或者隐藏input
}

// 定义spu对象中的销售属性对象数组类型
export type SpuSaleAttrListModel=SpuSaleAttrModel[]

// 定义spu对象的接口类型
export interface SpuModel { 
  id?: number, // id
  category3Id?:number // 三级分类的id
  tmId?: number, // 品牌的id
  spuName:string, // 名字
  description: string, // 描述信息
  spuImageList:SpuImageListModel, // 图片数组
  spuSaleAttrList:SpuSaleAttrListModel // 销售属性数组
}

// 定义spu对象数组的类型
export type SpuListModel = SpuModel[]
// 定义基础的销售属性对象类型
export interface BaseSaleAttrModel { 
  id: number, // id
  name:string // 名字
}

// 定义基础的销售属性对象数组类型
export type BaseSaleAttrListModel =BaseSaleAttrModel[]